![]() |
![]() |
![]() | |
![]() ![]() ![]() ![]()
╨αßε≥α ± ⌠αΘδα∞Φ |
╟α∩Φ±ⁿ Σαφφ√⌡ Γ ∩ε≥εΩ Φ ≈≥σφΦσ Σαφφ√⌡ Φτ ∩ε≥εΩα─δ εß∞σφα Σαφφ√∞Φ ± ∩ε≥εΩα∞Φ ∞εµφε Φ±∩εδⁿτεΓα≥ⁿ ΩαΩ ∩≡ε±≥σΘ°Φσ ∞σ≥εΣ√ write Φ read, ≥αΩ Φ ∞σ≥εΣ√, Σε∩≤±Ωα■∙Φσ ΓΓεΣ ΦδΦ Γ√ΓεΣ ⌠ε≡∞α≥Φ≡εΓαφφ√⌡ Σαφφ√⌡. ┬ ταΓΦ±Φ∞ε±≥Φ ε≥ ≥επε, φα ßατσ ΩαΩεπε Ωδα±±α ±ετΣαφ ∩ε≥εΩ, ταΓΦ±Φ≥ φαßε≡ Σε±≥≤∩φ√⌡ ∞σ≥εΣεΓ, ∩≡σΣφατφα≈σφφ√⌡ Σδ ≈≥σφΦ ΦδΦ τα∩Φ±Φ Σαφφ√⌡. ╧≡ε±≥σΘ°Φσ ∞σ≥εΣ√╤ετΣαΓ Γ√⌡εΣφεΘ ∩ε≥εΩ φα ßατσ Ωδα±±α FileOutputStream, Γ√ ∞εµσ≥σ Φ±∩εδⁿτεΓα≥ⁿ Σδ τα∩Φ±Φ Γ φσπε Σαφφ√⌡ ≥≡Φ ≡ατφεΓΦΣφε±≥Φ ∞σ≥εΣα write, ∩≡ε≥ε≥Φ∩√ Ωε≥ε≡√⌡ ∩≡σΣ±≥αΓδσφ√ φΦµσ: public void write(byte b[]); public void write(byte b[], int off, int len); public void write(int b); ╧σ≡Γ√Θ Φτ ²≥Φ⌡ ∞σ≥εΣεΓ τα∩Φ±√Γασ≥ Γ ∩ε≥εΩ ±εΣσ≡µΦ∞εσ ∞α±±ΦΓα, ±±√δΩα φα Ωε≥ε≡√Θ ∩σ≡σΣασ≥± ≈σ≡στ ∩α≡α∞σ≥≡, φα≈Φφα ± ≥σΩ≤∙σΘ ∩ετΦ÷ΦΦ Γ ∩ε≥εΩσ. ╧ε±δσ Γ√∩εδφσφΦ τα∩Φ±Φ ≥σΩ≤∙α ∩ετΦ÷Φ ∩≡εΣΓΦπασ≥± Γ∩σ≡σΣ φα ≈Φ±δε τα∩Φ±αφφ√⌡ ßαΘ≥, Ωε≥ε≡εσ ∩≡Φ ≤±∩σ°φε∞ ταΓσ≡°σφΦΦ ε∩σ≡α÷ΦΦ ≡αΓφε ΣδΦφσ ∞α±±ΦΓα (b.length). ┬≥ε≡εΘ ∞σ≥εΣ ∩ετΓεδ σ≥ Σε∩εδφΦ≥σδⁿφε ≤Ωατα≥ⁿ φα≈αδⁿφεσ ±∞σ∙σφΦσ off τα∩Φ±√Γασ∞επε ßδεΩα Σαφφ√⌡ Γ ∞α±±ΦΓσ Φ ΩεδΦ≈σ±≥Γε τα∩Φ±√Γασ∞√⌡ ßαΘ≥ len. ╥≡σ≥ΦΘ ∞σ≥εΣ ∩≡ε±≥ε τα∩Φ±√Γασ≥ Γ ∩ε≥εΩ εΣΦφ ßαΘ≥ Σαφφ√⌡. ┼±δΦ Γ ∩≡ε÷σ±±σ τα∩Φ±Φ ∩≡εΦ±⌡εΣΦ≥ ε°ΦßΩα, ΓετφΦΩασ≥ Φ±Ωδ■≈σφΦσ IOException. ─δ Γ⌡εΣφεπε ∩ε≥εΩα, ±ετΣαφφεπε φα ßατσ Ωδα±±α FileInputStream, ε∩≡σΣσδσφ√ ≥≡Φ ≡ατφεΓΦΣφε±≥Φ ∞σ≥εΣα read, Γ√∩εδφ ■∙σπε ≈≥σφΦσ Σαφφ√⌡: public int read(); public int read(byte b[]); public int read(byte b[], int off, int len); ╧σ≡Γα ≡ατφεΓΦΣφε±≥ⁿ ∩≡ε±≥ε ≈Φ≥ασ≥ Φτ ∩ε≥εΩα εΣΦφ ßαΘ≥ Σαφφ√⌡. ┼±δΦ Σε±≥Φπφ≤≥ Ωεφσ÷ ⌠αΘδα, ΓετΓ≡α∙ασ≥± τφα≈σφΦσ -1. ┬≥ε≡α ≡ατφεΓΦΣφε±≥ⁿ ∞σ≥εΣα read ≈Φ≥ασ≥ Σαφφ√σ Γ ∞α±±ΦΓ, ∩≡Φ≈σ∞ ΩεδΦ≈σ±≥Γε ∩≡ε≈Φ≥αφφ√⌡ Σαφφ√⌡ ε∩≡σΣσδ σ≥± ≡ατ∞σ≡ε∞ ∞α±±ΦΓα. ╠σ≥εΣ ΓετΓ≡α∙ασ≥ ΩεδΦ≈σ±≥Γε ∩≡ε≈Φ≥αφφ√⌡ ßαΘ≥ Σαφφ√⌡ ΦδΦ τφα≈σφΦσ -1, σ±δΦ Γ ∩≡ε÷σ±±σ ≈≥σφΦ ß√δ Σε±≥Φπφ≤≥ Ωεφσ÷ ⌠αΘδα. ╚, φαΩεφσ÷, ≥≡σ≥ΦΘ ∞σ≥εΣ ∩ετΓεδ σ≥ ∩≡ε≈Φ≥α≥ⁿ Σαφφ√σ Γ εßδα±≥ⁿ ∞α±±ΦΓα, ταΣαφφ≤■ ±ΓεΦ∞ ±∞σ∙σφΦσ∞ Φ ΣδΦφεΘ. ┼±δΦ ∩≡Φ ≈≥σφΦΦ ∩≡εΦ±⌡εΣΦ≥ ε°ΦßΩα, ΓετφΦΩασ≥ Φ±Ωδ■≈σφΦσ IOException. ╠σ≥εΣ√ Σδ ≈≥σφΦ Φ τα∩Φ±Φ ⌠ε≡∞α≥Φ≡εΓαφφ√⌡ Σαφφ√⌡┬∞σ±≥ε ≥επε ≈≥εß√ τα∩Φ±√Γα≥ⁿ Γ ∩ε≥εΩΦ Φ ≈Φ≥α≥ⁿ ε≥≥≤Σα ε≥Σσδⁿφ√σ ßαΘ≥√ ΦδΦ ∞α±±ΦΓ√ ßαΘ≥, ∩≡επ≡α∞∞Φ±≥√ εß√≈φε ∩≡σΣ∩ε≈Φ≥α■≥ ∩εδⁿτεΓα≥ⁿ± φα∞φεπε ßεδσσ ≤Σεßφ√∞Φ ∞σ≥εΣα∞Φ Ωδα±±εΓ DataOutputStream Φ DataInputStream, Σε∩≤±Ωα■∙Φ∞Φ ⌠ε≡∞α≥Φ≡εΓαφφ√Θ ΓΓεΣ Φ Γ√ΓεΣ Σαφφ√⌡. ┬ε≥, φα∩≡Φ∞σ≡, ΩαΩεΘ φαßε≡ ∞σ≥εΣεΓ ∞εµφε Φ±∩εδⁿτεΓα≥ⁿ Σδ τα∩Φ±Φ ⌠ε≡∞α≥Φ≡εΓαφφ√⌡ Σαφφ√⌡ Γ ∩ε≥εΩ Ωδα±±α DataOutputStream: public final void writeBoolean(boolean v); public final void writeByte(int v); public final void writeBytes(String s); public final void writeChar(int v); public final void writeChars(String s); public final void writeDouble(double v); public final void writeFloat(float v); public final void writeInt(int v); public final void writeLong(long v); public final void writeShort(int v); public final void writeUTF(String s); ╒ε≥ Φ∞σφα ∞σ≥εΣεΓ πεΓε≡ ≥ ±α∞Φ τα ±σß , ±Σσδασ∞ τα∞σ≈αφΦ ε≥φε±Φ≥σδⁿφε ∩≡Φ∞σφσφΦ φσΩε≥ε≡√⌡ Φτ φΦ⌡. ╠σ≥εΣ writeByte τα∩Φ±√Γασ≥ Γ ∩ε≥εΩ εΣΦφ ßαΘ≥. ▌≥ε ∞δαΣ°ΦΘ ßαΘ≥ ±δεΓα, Ωε≥ε≡εσ ∩σ≡σΣασ≥± ∞σ≥εΣ≤ ≈σ≡στ ∩α≡α∞σ≥≡ v. ┬ ε≥δΦ≈Φσ ε≥ ∞σ≥εΣα writeByte, ∞σ≥εΣ writeChar τα∩Φ±√Γασ≥ Γ ∩ε≥εΩ ΣΓ≤⌡ßαΘ≥εΓεσ ±Φ∞Γεδⁿφεσ τφα≈σφΦσ (φα∩ε∞φΦ∞, ≈≥ε Γ Java ±Φ∞Γεδ√ ⌡≡αφ ≥± ± Φ±∩εδⁿτεΓαφΦσ∞ ΩεΣΦ≡εΓΩΦ Unicode Φ ταφΦ∞α■≥ ΣΓα ßαΘ≥α). ┼±δΦ Γα∞ φ≤µφε τα∩Φ±α≥ⁿ Γ Γ√⌡εΣφεΘ ∩ε≥εΩ ≥σΩ±≥εΓ≤■ ±≥≡εΩ≤, ≥ε ²≥ε ∞εµφε ±Σσδα≥ⁿ ± ∩ε∞ε∙ⁿ■ ∞σ≥εΣεΓ writeBytes, writeChars ΦδΦ writeUTF. ╧σ≡Γ√Θ Φτ ²≥Φ⌡ ∞σ≥εΣεΓ τα∩Φ±√Γασ≥ Γ Γ√⌡εΣφεΘ ∩ε≥εΩ ≥εδⁿΩε ∞δαΣ°Φσ ßαΘ≥√ ±Φ∞ΓεδεΓ, α Γ≥ε≡εΘ - ΣΓ≤⌡ßαΘ≥εΓ√σ ±Φ∞Γεδ√ Γ ΩεΣΦ≡εΓΩσ Unicode. ╠σ≥εΣ writeUTF ∩≡σΣφατφα≈σφ Σδ τα∩Φ±Φ ±≥≡εΩΦ Γ ∞α°Φφφε-φσταΓΦ±Φ∞εΘ ΩεΣΦ≡εΓΩσ UTF-8. ┬±σ ∩σ≡σ≈Φ±δσφφ√σ Γ√°σ ∞σ≥εΣ√ Γ ±δ≤≈ασ ΓετφΦΩφεΓσφΦ ε°ΦßΩΦ ±ετΣα■≥ Φ±Ωδ■≈σφΦσ IOException, Ωε≥ε≡εσ Γ√ Σεδµφ√ εß≡αßε≥α≥ⁿ. ┬ Ωδα±±σ DataInputStream ε∩≡σΣσδσφ√ ±δσΣ≤■∙Φσ ∞σ≥εΣ√, ∩≡σΣφατφα≈σφφ√σ Σδ ≈≥σφΦ ⌠ε≡∞α≥Φ≡εΓαφφ√⌡ Σαφφ√⌡ Φτ Γ⌡εΣφεπε ∩ε≥εΩα: public final boolean readBoolean(); public final byte readByte(); public final char readChar(); public final double readDouble(); public final float readFloat(); public final void readFully(byte b[]); public final void readFully(byte b[], int off, int len); public final int readInt(); public final String readLine(); public final long readLong(); public final short readShort(); public final int readUnsignedByte(); public final int readUnsignedShort(); public final String readUTF(); public final static String readUTF( DataInput in); public final int skipBytes(int n); ╬ß≡α≥Φ≥σ ΓφΦ∞αφΦσ, ≈≥ε ±≡σΣΦ ²≥Φ⌡ ∞σ≥εΣεΓ φσ≥ ≥σ⌡, ≈≥ε ±∩σ÷Φαδⁿφε ∩≡σΣφατφα≈σφ√ Σδ ≈σ≥φΦ Σαφφ√⌡, τα∩Φ±αφφ√⌡ Φτ ±≥≡εΩ ∞σ≥εΣα∞Φ writeBytes Φ writeChars Ωδα±±α DataOutputStream. ╥σ∞ φσ ∞σφσσ, σ±δΦ Γ⌡εΣφεΘ ∩ε≥εΩ ±ε±≥εΦ≥ Φτ ε≥Σσδⁿφ√⌡ ±≥≡εΩ, ≡ατΣσδσφφ√⌡ ±Φ∞Γεδα∞Φ ΓετΓ≡α≥α Ωα≡σ≥ΩΦ Φ ∩σ≡σΓεΣα ±≥≡εΩΦ, ≥ε ≥αΩΦσ ±≥≡εΩΦ ∞εµφε ∩εδ≤≈Φ≥ⁿ ∞σ≥εΣε∞ readLine. ┬√ ≥αΩµσ ∞εµσ≥σ Γε±∩εδⁿτεΓα≥ⁿ± ∞σ≥εΣε∞ readFully, Ωε≥ε≡√Θ τα∩εδφ σ≥ ∩≡ε≈Φ≥αφφ√∞Φ Σαφφ√∞Φ ∞α±±ΦΓ ßαΘ≥. ▌≥ε≥ ∞α±±ΦΓ ∩ε≥ε∞ ß≤Σσ≥ φσ≥≡≤Σφε ∩≡σεß≡ατεΓα≥ⁿ Γ ±≥≡εΩ≤ ≥Φ∩α String, ≥αΩ ΩαΩ Γ Ωδα±±σ String ∩≡σΣ≤±∞ε≥≡σφ ±εε≥Γσ≥±≥Γ≤■∙ΦΘ Ωεφ±≥≡≤Ω≥ε≡. ─δ ≈≥σφΦ ±≥≡εΩ, τα∩Φ±αφφ√⌡ ∞σ≥εΣε∞ writeUTF Γ√ Σεδµφ√ εß τα≥σδⁿφε ∩εδⁿτεΓα≥ⁿ± ∞σ≥εΣε∞ readUTF. ╠σ≥εΣ skipBytes ∩ετΓεδ σ≥ ∩≡ε∩≤±≥Φ≥ⁿ Φτ Γ⌡εΣφεπε ∩ε≥εΩα ταΣαφφεσ ΩεδΦ≈σ±≥Γε ßαΘ≥. ╠σ≥εΣ√ Ωδα±±α DataInputStream, ∩≡σΣφατφα≈σφφ√σ Σδ ≈≥σφΦ Σαφφ√⌡, ∞επ≤≥ ±ετΣαΓα≥ⁿ Φ±Ωδ■≈σφΦ IOException Φ EOFException. ╧σ≡Γεσ Φτ φΦ⌡ ΓετφΦΩασ≥ Γ ±δ≤≈ασ ε°ΦßΩΦ, α Γ≥ε≡εσ - ∩≡Φ Σε±≥ΦµσφΦΦ Ωεφ÷α Γ⌡εΣφεπε ∩ε≥εΩα Γ ∩≡ε÷σ±±σ ≈≥σφΦ . |